﻿Public Class frmNumerOperacji

    Private mvarDbHolder As clsDataBase
    Private mvarUzytkownik As clsUzytkownik
    Private mvarPozycjaSchematu As clsTrSzukanie
    Private mvarPracownikId As Integer
    Private mvarKomunikat As String

    Public Sub New()
        ' To wywołanie jest wymagane przez projektanta.
        InitializeComponent()

        ' Dodaj inicjację po wywołaniu funkcji InitializeComponent().
        mvarDbHolder = New clsDataBase(VAR_CONNECTION_PARAMETERS, VAR_ERROR_HANDLER)
        mvarUzytkownik = CType(clsUzytkownik.Instance(), clsUzytkownik)

       
    End Sub

    Private Sub Wyczysc()
        If mvarUzytkownik.Nazwisko = "PRODUKCJA" Then
            txtNumerPracownika.Text = String.Empty
        Else
            txtNumerPracownika.Text = "0"
        End If

        txtNumerPozycjiSchematu.Text = String.Empty

        If mvarUzytkownik.Nazwisko = "PRODUKCJA" Then
            txtNumerPracownika.Focus()
        Else
            txtNumerPozycjiSchematu.Focus()
        End If
    End Sub

    Private Sub SzukajPozycjiSchematu()

        Dim lvarCommand As String

        If txtNumerPozycjiSchematu.Text <> String.Empty And IsNumeric(txtNumerPozycjiSchematu.Text) Then
            If InStr(txtNumerPozycjiSchematu.Text, ",") = Nothing And CInt(txtNumerPozycjiSchematu.Text) > 0 Then
                lvarCommand = txtNumerPozycjiSchematu.Text
                mvarPozycjaSchematu = New clsTrSzukanie
                mvarPozycjaSchematu.SzukajPozycjiSchematu(mvarDbHolder, lvarCommand)
                If mvarPozycjaSchematu.PozycjaSchematu.Count = 0 Then
                    MessageBox.Show("Pozycja o podanym numerze nie wymaga podania parametrów drutu.", "WIREMET")
                Else
                    Dim lvarFrm As New frmOperacja2(mvarPozycjaSchematu.PozycjaSchematu, CInt(txtNumerPracownika.Text))
                    With lvarFrm
                        .MdiParent = MdiParent
                        .ShowDialog()
                    End With
                    Wyczysc()
                    Close()
                End If
            Else
                MessageBox.Show("Podaj poprawnie numer.", "WIREMET")
            End If
        Else
            MessageBox.Show("Podaj numer.", "WIREMET")
        End If

    End Sub

    Private Sub WidokFormularza()
        Me.Size = New Size(167, 141)
        Me.Text = String.Empty
        grbNumerOperacji.Location = New Point(6, 49)
        grbNumerOperacji.Text = "Numer operacji"
        txtNumerPracownika.Text = String.Empty
        txtNumerPracownika.Focus()
    End Sub

    Function SzukajPracownika() As Boolean

        If txtNumerPracownika.Text <> String.Empty And IsNumeric(txtNumerPracownika.Text) Then
            If InStr(txtNumerPracownika.Text, ",") = Nothing And CInt(txtNumerPracownika.Text) > 0 Then
                mvarPracownikId = CInt(clsInhPracownik.SprawdzNumer(mvarDbHolder, CInt(txtNumerPracownika.Text)).ToString)
                If mvarPracownikId <> 0 Then
                    If clsInhPracownik.SprawdzAktywnoscPracownika(mvarDbHolder, mvarPracownikId) Then
                        Return True
                    Else
                        mvarKomunikat = "Pracownik o podanym numerze nie ma praw."
                        Return False
                    End If
                Else
                    mvarKomunikat = "Nie ma pracownika o podanym numerze."
                    Return False
                End If
            Else
                mvarKomunikat = "Podaj poprawnie numer pracownika."
                Return False
            End If
        Else
            mvarKomunikat = "Podaj numer pracownika."
            Return False
        End If

    End Function

    Private Sub frmNumerOperacji_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
        mvarDbHolder.Close()
    End Sub


#Region "KeyPress"

    Private Sub txtNumerPracownika_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtNumerPracownika.KeyPress
        If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
            If SzukajPracownika() Then
                txtNumerPozycjiSchematu.Focus()
            Else
                MessageBox.Show(mvarKomunikat)
                txtNumerPracownika.SelectAll()
            End If

        End If
    End Sub

    Private Sub txtNumerPozycjiSchematu_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtNumerPozycjiSchematu.KeyPress
        If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
            SzukajPozycjiSchematu()
        End If
    End Sub

#End Region

    Private Sub frmNumerOperacji_Load(sender As Object, e As EventArgs) Handles Me.Load
        If mvarUzytkownik.Nazwisko = "PRODUKCJA" Then
            WidokFormularza()
        End If
    End Sub

End Class